﻿/*
 * Created by SharpDevelop.
 * User: ratul
 * Date: 3/11/2010
 * Time: 2:29 AM
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */

using System;
using System.Collections;
using System.Collections.Generic;
using H264Impl.NET.NAL;
using H264Impl.NET.Coding;

namespace H264Impl.NET.Decoder
{
	/// <summary>
	/// Description of VideoSequenceExtension.
	/// </summary>
	public class VideoSequenceExtension
	{
		public VideoSequenceExtension()
		{
		}
		
		public void parseSequenceParameterExtensionRBSP(BitStream RBSP)
		{
			auxFormatIdc = ExpGolomb.getUnsignedIntegerElement(RBSP);
			if( auxFormatIdc != 0 ) {
				bitDepthAuxMinus8 = ExpGolomb.getUnsignedIntegerElement(RBSP);
				alphaIncrFlag = RBSP.getBit();
				alphaOpaqueValue = RBSP.getBits((UInt16)(bitDepthAuxMinus8+9));
				alphaTransparentValue = RBSP.getBits((UInt16)(bitDepthAuxMinus8+9));
			}
			additionalExtensionFlag = RBSP.getBit();
			rbspTrailingBits( );
		}
		
		void rbspTrailingBits( )
		{
			
		}
		
		UInt32 seqParameterSetId;
		UInt32 auxFormatIdc;
		UInt32 bitDepthAuxMinus8;
		bool alphaIncrFlag;
		UInt32 alphaOpaqueValue;
		UInt32 alphaTransparentValue;
		bool additionalExtensionFlag;
		
	}
	
}
